<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Apache module mod_asis</TITLE>
</HEAD>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->

<H1 ALIGN="CENTER">Module mod_asis</h1>

This module is contained in the <code>mod_asis.c</code> file, and
is compiled in by default. It provides for <code>.asis</code> files. Any
document with mime type <code>httpd/send-as-is</code> will be processed by
this module.
<!--%plaintext &lt;?INDEX {\tt httpd/send-as-is} mime type&gt; -->

<h2>Purpose</h2>
To allow file types to be defined such that Apache sends them without
adding HTTP headers.<P>

This can be used to send any kind of data from the server, including redirects
and other special HTTP responses, without requiring a cgi-script or an nph
script.
<h2>Usage</h2>
In the server configuration file, define a new mime type called
<code>httpd/send-as-is</code> e.g.
<blockquote><code>AddType httpd/send-as-is asis</code></blockquote>
this defines the <code>.asis</code> file extension as being of the new
<code>httpd/send-as-is</code> mime type. The contents of any file with a
<code>.asis</code> extension will then be sent by Apache to the client with
almost no changes. Clients will need HTTP headers to be attached, so do not
forget them. A Status: header is also required; the data should be the
3-digit HTTP response code, followed by a textual message.<p>

Here's an example of a file whose contents are sent <em>as is</em> so as to
tell the client that a file has redirected.
<blockquote><code>
Status: 302 Now where did I leave that URL <br>
Location: http://xyz.abc.com/foo/bar.html <br>
Content-type: text/html <br>
<br>
&lt;HTML&gt; <br>
&lt;HEAD&gt; <br>
&lt;TITLE&gt;Lame excuses'R'us&lt;/TITLE&gt; <br>
&lt;/HEAD&gt; <br>
&lt;BODY&gt; <br>
&lt;H1&gt;Fred's exceptionally wonderful page has moved to <br>
&lt;A HREF="http://xyz.abc.com/foo/bar.html"&gt;Joe's&lt;/A&gt; site.  <br>
&lt;/H1&gt; <br>
&lt;/BODY&gt; <br>
&lt;/HTML&gt;
</code></blockquote>
Notes: the server always adds a Date: and Server: header to the data returned
to the client, so these should not be included in the file.
The server does <em>not</em> add a Last-Modified header; it probably should.
<P>

<!--#include virtual="footer.html" -->
</BODY>
</HTML>
